package com.samehope.ar.service;

import com.samehope.ar.dto.ProjectTeamAddParam;
import com.samehope.ar.dto.ProjectTeamUpdateParam;
import com.samehope.ar.entity.ProjectTeam;
import com.baomidou.mybatisplus.extension.service.IService;
import com.samehope.ar.vo.FormSelectVO;
import com.samehope.ar.vo.ProjectTeamDataVO;
import com.samehope.ar.vo.TreeDataVO;

import java.util.List;

/**
 * <p>
 * 项目团队 服务类
 * </p>
 *
 * @author Zhang Luo
 * @since 2019-12-23
 */
public interface IProjectTeamService extends IService<ProjectTeam> {

    /**
     * 查询项目团队
     * @return
     */
    List<ProjectTeamDataVO> findByProject();

    /**
     * 新增项目团队
     * @param projectTeamAddParam
     */
    void add(ProjectTeamAddParam projectTeamAddParam);

    /**
     * 更新项目团队
     * @param projectTeamUpdateParam
     */
    void update(ProjectTeamUpdateParam projectTeamUpdateParam);

    /**
     * 删除项目团队
     * @param id
     */
    void del(Long id);

    /**
     * 获取团队成员树结构
     * @return
     */
    List<TreeDataVO> getTree();

    /**
     * 获取团队下拉框数据
     * @return
     */
    List<FormSelectVO> listForSelect();
}
